STM32中常用数据类型及取值 |
您所在的位置:网站首页 › unsigned int16最大值 › STM32中常用数据类型及取值 |
前述
1bit = 1个位 = 一个0/1 1字节 = 8 bit C/C++中 1.常用的数据类型 字符型 char = 1个字节,范围为:-28~28-1 整型 int = 4个字节,范围为:-2(32-1)~2(32-1)-1 单精度浮点数 float = 4个字节,范围为:-2128~ +2128-1 双精度浮点数 double = 8个字节,范围为:-21024~ +21024-1 2.嵌入式编程中的无符号类型 unsigned char = uint8_t = u8 unsigned short = uint16_t = u16 unsigned int = uint32_t = u32 因为嵌入式编程中常用十六进制数作为数据类型(0x),所以上述常用的无符号数据类型可以不需要准确计算取值范围,可以直接理解为u多少就是多少bit 例1: u8 a;//8位二进制数据 a最大值0xff //可以直接储存一个8位寄存器的内部数据 u16 b;//16位二进制数据 b最大值0xffff //可以直接储存一个16位寄存器的内部数据 u32 c;//32位二进制数据 c最大值0xffff ffff //可以直接储存一个32位寄存器的内部数据例2:USART中的 USART_DR寄存器(USART数据寄存器) 这样Res中就保存了USART_DR中的八位数据 数据类型自动转换 -----------------------------------------------2022年6月18日15:38:34更新----------------------------------------------- 最近由于开发平台转化至gd32,突然出现了char类型取值范围问题 按照我对c语言的认知,类似于char, int,long之类的变量应该默认是有符号的变量,但是我出现了下图的问题 这样print的结果如下所示 目前判断可能是keil编译的原因,导致char被编译为unsigned char类型,同学们在编程时需要注意一下。 目前手边没有stm32的板子,有兴趣的同学可以尝试一下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |